第11章 计算机语言
计算机语言是人和计算机交互的符号规则体系,用于编写程序、下发指令。
11.1 计算机语言发展三阶段
11.1.1 机器语言
计算机唯一可直接执行的语言,全部由二进制0、1构成。 特点:
- 执行速度极快,无需翻译;
- 完全绑定硬件,不同CPU不能通用;
- 可读性极差,编写调试难度巨大。
示例:
10001001代表寄存器加法指令。
11.1.2 汇编语言
用英文助记符替代二进制机器指令,是机器语言的符号化版本。 特点:
- ADD、MOV等助记符,可读性提升;
- 仍依赖硬件架构,可移植差;
- 需要汇编程序翻译成机器码才能运行。
示例:
ADD AX,BX将两个寄存器相加。
11.1.3 高级语言
语法贴近自然语言与数学公式,屏蔽底层硬件细节,分为四代:
- 早期科学语言(FORTRAN、COBOL):用于科学、商业计算;
- 结构化语言(C、Pascal、BASIC):顺序/分支/循环三大结构;
- 面向对象(C++、Java、Python):封装、继承、多态;
- 现代脚本语言(JS、PHP、Go、Rust):轻量化、快速开发。
11.2 语言四大分类方式
11.2.1 按抽象层次
- 低级语言(机器、汇编):贴近硬件,效率高,难开发;
- 高级语言:屏蔽硬件,易读易写,开发效率高。
11.2.2 按执行方式
- 编译型(C/C++、Go、Rust) 一次性将全部源码翻译成独立可执行文件,运行速度快;修改代码需要重新编译。
- 解释型(Python、JS、PHP) 解释器逐行翻译执行,不生成独立程序;调试方便,运行速度慢。
- 混合型(Java、C#) 先编译为中间字节码,再由虚拟机解释执行;兼顾跨平台与效率。
11.2.3 按编程范式
- 结构化(C):以函数、三大流程控制为主;
- 面向对象(C++/Python/Java):以对象为核心;
- 函数式(Haskell、Lisp):纯函数、无可变状态;
- 脚本语言:轻量,用于自动化、网页。
11.2.4 按应用领域
通用语言:C++、Python、Java,全场景可用; 专用语言:SQL(数据库)、MATLAB(数学)、HTML(网页)。
11.3 各类语言特点汇总
| 语言类型 | 代表 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|---|
| 机器语言 | 二进制指令 | 直接执行,速度最快 | 难写难读,硬件绑定 | 早期底层开发 |
| 汇编 | x86汇编 | 底层可控,高效 | 移植差,开发慢 | 驱动、嵌入式 |
| 编译高级 | C/C++ | 运行快,性能强 | 编译步骤繁琐 | 操作系统、游戏 |
| 解释语言 | Python | 开发快,跨平台 | 执行速度低 | 数据分析、脚本 |
| 混合型 | Java | 一次编译到处跑 | 虚拟机占用资源 | 企业软件 |
11.4 发展趋势
- 更高抽象,简化代码;
- 跨平台成为标配;
- 强化内存、类型安全(Rust);
- 面向AI、云计算等新兴领域;
- 多范式融合(Python同时支持面向对象、函数式)。